package com.hyper_yang._01_jdbc.dbutils;

import com.hyper_yang._01_jdbc.utils.JDBCUtil;
import org.apache.commons.dbutils.QueryRunner;
import org.junit.jupiter.api.Test;

import java.sql.Connection;

public class BatchTest {
    @Test
    public void test() throws Exception {
        Connection connection = JDBCUtil.getConnection();
        // 创建对象
        QueryRunner queryRunner = new QueryRunner();
        // 准备 sql
        String sql = "insert into t_account values(?,?,?)";
        // 准备数据
        // 1. 准备一个二维数组，【行】【列】：[sqlNum][paramsNum]
        Object[][] params = new Object[10000][3];
        // 2. 循环遍历二维数组的行
        for (int i = 0; i < params.length; i++) {
            // 循环一次，是对一条 sql的 3个参数做赋值
            // 下标是从 0，但是转换到 sql中时，下标从 1开始
            params[i][0] = 0;
            params[i][1] = "坤坤" + i;
            params[i][2] = 100 + i;
        }
        // 执行操作
        queryRunner.batch(connection, sql, params);
        // 归还连接
        connection.close();
    }
}
